package contratosonline.entity;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author admin
 */
@Entity
@Table(name = "licitacaoorigem", schema = "contratos")
@NamedQueries({@NamedQuery(name = "Licitacaoorigem.findAll", query = "SELECT l FROM LicitacaoOrigem l"), @NamedQuery(name = "Licitacaoorigem.findByIdlicitacaoOrigem", query = "SELECT l FROM LicitacaoOrigem l WHERE l.idlicitacaoOrigem = :idlicitacaoOrigem"), @NamedQuery(name = "Licitacaoorigem.findByTipoLicitacao", query = "SELECT l FROM LicitacaoOrigem l WHERE l.tipoLicitacao = :tipoLicitacao"), @NamedQuery(name = "Licitacaoorigem.findByLicitacaoNumero", query = "SELECT l FROM LicitacaoOrigem l WHERE l.licitacaoNumero = :licitacaoNumero"), @NamedQuery(name = "Licitacaoorigem.findByLicitacaoAno", query = "SELECT l FROM LicitacaoOrigem l WHERE l.licitacaoAno = :licitacaoAno")})
public class LicitacaoOrigem implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "idlicitacaoOrigem")
    private Integer idlicitacaoOrigem;
    @Basic(optional = false)
    @Column(name = "tipoLicitacao")
    private String tipoLicitacao;
    @Basic(optional = false)
    @Column(name = "licitacaoNumero")
    private String licitacaoNumero;
    @Basic(optional = false)
    @Column(name = "licitacaoAno")
    private String licitacaoAno;
    @OneToMany(mappedBy = "licitacaoOrigem", fetch = FetchType.EAGER)
    private Collection<Contrato> contratoCollection;

    public LicitacaoOrigem() {
    }

    public LicitacaoOrigem(Integer idlicitacaoOrigem) {
        this.idlicitacaoOrigem = idlicitacaoOrigem;
    }

    public LicitacaoOrigem(Integer idlicitacaoOrigem, String tipoLicitacao, String licitacaoNumero, String licitacaoAno) {
        this.idlicitacaoOrigem = idlicitacaoOrigem;
        this.tipoLicitacao = tipoLicitacao;
        this.licitacaoNumero = licitacaoNumero;
        this.licitacaoAno = licitacaoAno;
    }

    public Integer getIdlicitacaoOrigem() {
        return idlicitacaoOrigem;
    }

    public void setIdlicitacaoOrigem(Integer idlicitacaoOrigem) {
        this.idlicitacaoOrigem = idlicitacaoOrigem;
    }

    public String getTipoLicitacao() {
        return tipoLicitacao;
    }

    public void setTipoLicitacao(String tipoLicitacao) {
        this.tipoLicitacao = tipoLicitacao;
    }

    public String getLicitacaoNumero() {
        return licitacaoNumero;
    }

    public void setLicitacaoNumero(String licitacaoNumero) {
        this.licitacaoNumero = licitacaoNumero;
    }

    public String getLicitacaoAno() {
        return licitacaoAno;
    }

    public void setLicitacaoAno(String licitacaoAno) {
        this.licitacaoAno = licitacaoAno;
    }

    public Collection<Contrato> getContratoCollection() {
        return contratoCollection;
    }

    public void setContratoCollection(Collection<Contrato> contratoCollection) {
        this.contratoCollection = contratoCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idlicitacaoOrigem != null ? idlicitacaoOrigem.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof LicitacaoOrigem)) {
            return false;
        }
        LicitacaoOrigem other = (LicitacaoOrigem) object;
        if ((this.idlicitacaoOrigem == null && other.idlicitacaoOrigem != null) || (this.idlicitacaoOrigem != null && !this.idlicitacaoOrigem.equals(other.idlicitacaoOrigem))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "contratosonline.entity.LicitacaoOrigem[idlicitacaoOrigem=" + idlicitacaoOrigem + "]";
    }

}
